// 导入http实例
import http from '../utils/request'

/**
 * 用户注册接口
 * @param {Object} data - 注册信息
 * @param {string} data.username - 用户名
 * @param {string} data.password - 密码
 * @param {string} data.name - 姓名
 * @param {string} data.email - 邮箱
 * @param {number} data.classId - 班级ID
 * @param {string} data.role - 用户角色 (admin, teacher, student)
 * @returns {Promise}
 */
export const register = (data) => {
  return http.post('/api/users/register', data)
}
export const login = (data) => {
  return http.post('/api/users/login', data)
}

/**
 * 获取用户信息接口
 * @returns {Promise}
 */
export const getUserInfo = () => {
  return http.get('/api/users/me')
}

/**
 * 更新用户信息接口
 * @param {number} id - 用户ID
 * @param {Object} data - 更新信息
 * @param {string} [data.username] - 用户名
 * @param {string} [data.name] - 姓名
 * @param {string} [data.email] - 邮箱
 
 * @param {string} [data.role] - 用户角色 (admin, teacher, student)
 * @param {number} [data.classId] - 班级ID
 * @returns {Promise}
 */
export const updateUserInfo = (id, data) => {
  console.log('调用updateUserInfo接口:', `http://47.94.6.186:3005/api/users/${id}`);
  console.log('请求数据:', data);
  return http.put(`/api/users/${id}`, data)
    .then(response => {
      console.log('接口响应:', response);
      return response;
    })
    .catch(error => {
      console.error('接口错误:', error);
      throw error;
    })
}

// 修改密码
export const changePassword = (data) => {
  return http.post('/api/users/change-password', data)
}

// 获取学习记录统计
export const getLearningStats = () => {
  return http.get('/api/users/learning-stats')
}

// 获取活动历史
export const getActivityHistory = (params = {}) => {
  return http.get('/api/users/activities', { params })
}

// 更新系统设置
export const updateSystemSettings = (data) => {
  return http.put('/api/users/settings', data)
}